﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Com.AlbLab.GEP.Domain.Entities;
using Com.AlbLab.GEP.Domain;

namespace common
{
    public partial class ValidaRichiesta : System.Web.UI.UserControl
    {

        public Boolean Ammissibile
        {
            get { return RDB_amm.Checked; }
        }

        public Dictionary<string, GEP_ANA_INAM> CauseInamm = null;
        public PraticaBase pratica = null;

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Page_PreRender(object sender, EventArgs e)
        {
            bool IsAmmissibile;
            string NoteInam;
            int nNoAmmissibile;

            if (!pratica.IsSaved)
            {
                if (!Page.IsPostBack)
                {
                    IsAmmissibile = pratica.IsAmmissibile;
                    NoteInam = pratica.NoteInam;
                    nNoAmmissibile = pratica.CodiceInam;
                }
                else
                {
                    IsAmmissibile = RDB_amm.Checked;
                    NoteInam = TXB_NOAmmissibilita.Text;
                    nNoAmmissibile = int.Parse(ddlNOAmmissibile.SelectedValue);
                }
                if (IsAmmissibile) { RDB_amm.Checked = true; }
                else { RDB_no_amm.Checked = true; }

                ddlNOAmmissibile.Enabled = RDB_no_amm.Checked;
                if (ddlNOAmmissibile.Enabled)
                {
                    ddlNOAmmissibile.SelectedValue = nNoAmmissibile.ToString();
                }
                TXB_NOAmmissibilita.Enabled = RDB_no_amm.Checked;
                TXB_NOAmmissibilita.Text = NoteInam;
            }
        }

        protected void ddlNOAmmissibile_DataBind(object sender, EventArgs e)
        {
            if (pratica!=null && !pratica.IsSaved)
            {
                int nIdx;
                nIdx = ddlNOAmmissibile.SelectedIndex;
                ddlNOAmmissibile.Items.Clear();

                ddlNOAmmissibile.Items.Add(new ListItem("--- Scegli una causa di inammisibilità ---", "0"));
                foreach (KeyValuePair<string, GEP_ANA_INAM> temp in CauseInamm)
                {
                    ddlNOAmmissibile.Items.Add(new ListItem(temp.Value.Ina_des_inam, temp.Value.Id_ina_cod_inam));
                }
                ddlNOAmmissibile.SelectedIndex=nIdx;
            }
        }

       protected void btnSave_OnClick(object sender, EventArgs e)
        {
            if (RDB_amm.Checked || (!RDB_amm.Checked && Convert.ToInt16(ddlNOAmmissibile.SelectedValue) > 0))
            {
                pratica.IsAmmissibile = RDB_amm.Checked;
                if (pratica.IsAmmissibile)
                {
                    pratica.CodiceInam = 0;
                    pratica.NoteInam = "";
                }
                else
                {
                    pratica.CodiceInam = Convert.ToInt16(ddlNOAmmissibile.SelectedValue);
                    pratica.DesCodInam = ddlNOAmmissibile.SelectedItem.Text;
                    pratica.NoteInam = TXB_NOAmmissibilita.Text;
                }
                Response.Redirect("~/Pratiche/CaricaPratiche.aspx?KA=2");
            }
        }
    }
}